package com.example.commuity.entity

import com.example.entity.BaseEntity

data class AutoPlayFollowCardEntity(
    val adIndex: Int,
    val data: AutoPlayFollowCardData,
    val id: Int,
    val tag: Any,
    val trackingData: Any,
    val type: String
): BaseEntity()

data class AutoPlayFollowCardData(
    val adTrack: List<Any>,
    val content: AutoPlayFollowCardContent,
    val dataType: String,
    val header: AutoPlayFollowCardHeader
)

data class AutoPlayFollowCardContent(
    val adIndex: Int,
    val data: AutoPlayFollowCardDataX,
    val id: Int,
    val tag: Any,
    val trackingData: Any,
    val type: String
)

data class AutoPlayFollowCardHeader(
    val actionUrl: String,
    val followType: String,
    val icon: String,
    val iconType: String,
    val id: Int,
    val issuerName: String,
    val labelList: Any,
    val showHateVideo: Boolean,
    val tagId: Int,
    val tagName: Any,
    val time: Long,
    val topShow: Boolean
)

data class AutoPlayFollowCardDataX(
    val ad: Boolean,
    val adTrack: List<Any>,
    val author: AutoPlayFollowCardAuthor,
    val brandWebsiteInfo: Any,
    val campaign: Any,
    val category: String,
    val collected: Boolean,
    val consumption: AutoPlayFollowCardConsumption,
    val cover: AutoPlayFollowCardCover,
    val dataType: String,
    val date: Long,
    val description: String,
    val descriptionEditor: String,
    val descriptionPgc: String,
    val duration: Int,
    val favoriteAdTrack: Any,
    val id: Int,
    val idx: Int,
    val ifLimitVideo: Boolean,
    val label: Any,
    val labelList: List<Any>,
    val lastViewTime: Any,
    val library: String,
    val playInfo: List<Any>,
    val playUrl: String,
    val played: Boolean,
    val playlists: Any,
    val promotion: Any,
    val provider: AutoPlayFollowCardProvider,
    val reallyCollected: Boolean,
    val recallSource: Any,
    val recall_source: Any,
    val releaseTime: Long,
    val remark: String,
    val resourceType: String,
    val searchWeight: Int,
    val shareAdTrack: Any,
    val slogan: Any,
    val src: Any,
    val subtitles: List<Any>,
    val tags: List<AutoPlayFollowCardTag>,
    val thumbPlayUrl: Any,
    val title: String,
    val titlePgc: String,
    val type: String,
    val videoPosterBean: Any,
    val waterMarks: Any,
    val webAdTrack: Any,
    val webUrl: AutoPlayFollowCardWebUrl
)

data class AutoPlayFollowCardAuthor(
    val adTrack: Any,
    val approvedNotReadyVideoCount: Int,
    val description: String,
    val expert: Boolean,
    val follow: AutoPlayFollowCardFollow,
    val icon: String,
    val id: Int,
    val ifPgc: Boolean,
    val latestReleaseTime: Long,
    val link: String,
    val name: String,
    val recSort: Int,
    val shield: AutoPlayFollowCardShield,
    val videoNum: Int
)

data class AutoPlayFollowCardConsumption(
    val collectionCount: Int,
    val realCollectionCount: Int,
    val replyCount: Int,
    val shareCount: Int
)

data class AutoPlayFollowCardCover(
    val blurred: String,
    val detail: String,
    val feed: String,
    val homepage: Any,
    val sharing: Any
)

data class AutoPlayFollowCardProvider(
    val alias: String,
    val icon: String,
    val name: String
)

data class AutoPlayFollowCardTag(
    val actionUrl: String,
    val adTrack: Any,
    val bgPicture: String,
    val childTagIdList: Any,
    val childTagList: Any,
    val communityIndex: Int,
    val desc: String,
    val haveReward: Boolean,
    val headerImage: String,
    val id: Int,
    val ifNewest: Boolean,
    val name: String,
    val newestEndTime: Any,
    val tagRecType: String
)

data class AutoPlayFollowCardWebUrl(
    val forWeibo: String,
    val raw: String
)

data class AutoPlayFollowCardFollow(
    val followed: Boolean,
    val itemId: Int,
    val itemType: String
)

data class AutoPlayFollowCardShield(
    val itemId: Int,
    val itemType: String,
    val shielded: Boolean
)